Display with CLK phase or data phase auto-adjusting mechanism and method of driving same

ABSTRACT

One aspect of the present invention relates to a display for displaying data. In one embodiment, the display includes a timing controller (TCON) configured to provide a plurality of data signals to be displayed, at least one clock signal and a data training code corresponding to at least one clock signal; a plurality of source drivers, each source driver configured to receive one or more corresponding data signals, the at least one clock signal and the data training code from the TCON, generate a plurality of data phase signals according to the one or more corresponding data signals, select one data signal from the plurality of data phase signals as an optimal data signal according to the data training code, and latch the one or more corresponding data signals according to the optimal data signal; and a display panel configured to display the plurality of latched data received from the plurality of source drivers.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application is a continuation-in-part of U.S. patent application Ser. No. 12/704,658, filed Feb. 12, 2010, entitled “DISPLAY WITH CLK PHASE AUTO-ADJUSTING MECHANISM AND METHOD OF DRIVING SAME” by Chien-Fu Huang, and Chun-Fan Chung, the disclosure of the above identified co-pending application is incorporated herein by reference in its entirety.

Some references, if any, which may include patents, patent applications and various publications, are cited and discussed in the description of this invention. The citation and/or discussion of such references is provided merely to clarify the description of the present invention and is not an admission that any such reference is “prior art” to the invention described herein. All references cited and discussed in this specification are incorporated herein by reference in their entireties and to the same extent as if each reference was individually incorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to a display, and more particularly to a display that utilizes a CLK phase auto-adjusting mechanism or a DATA phase auto-adjusting mechanism in source drivers to increase the operation frequency of the display and a method of driving same.

BACKGROUND OF THE INVENTION

A typical driving system of a flat panel display includes a timing controller, source drivers and gate drivers. The timing controller generates data, clock and synchronization signals, which are transmitted to the source drivers in a bus manner. The source drivers receive data from the timing controller according to the rising and falling edges of the clock signal. Transmission interfaces commonly used for signal transfer between the timing controller and the source drivers are interfaces with two signal levels, such as reduced swing differential signaling (RSDS) and mini low voltage differential signaling (mini-LVDS) interfaces.

As the flat panel display moves toward a large panel size, a high resolution and a high frame rate, the data transmission rate in the driving system is substantially increased. Besides, in the flat panel display, transmission of data and clock signals employs the bus transmission interface. For a large panel size of the flat panel display, the signaling lines coupling to the timing controller and different source drivers have great line length difference. Accordingly, the signaling lines corresponding to different source drivers may work under different loads, resulting in rising and falling rates of transmission signals. Additionally, since the source drivers jointly receive the data signals via a bus, the data signals received by different source drivers may have different phase delays due to different transmission line lengths. As a result, data and clock skews may occur in the transmission signals, thereby resulting in erroneous data reception in the source drivers and therefore deteriorating the performance of the flat panel display.

Therefore, a heretofore unaddressed need exists in the art to address the aforementioned deficiencies and inadequacies.

SUMMARY OF THE INVENTION

The present invention, in one aspect, relates to a display for displaying data. In one embodiment, the display includes a timing controller (TCON) configured to provide a plurality of data signals to be displayed, at least one clock signal, CLK, and a clock training code corresponding to the plurality of data signals; a plurality of source drivers coupled with the timing controller, each source driver (SD) configured to receive one or more corresponding data signals, the at least one clock signal CLK and the clock training code from the timing controller, generate a plurality of clock signals, {CLKj}, according to the at least one clock signal CLK, wherein j=1, 2, 3, . . . , N, N being a positive integer, select one clock signal from the plurality of clock signals {CLKj} as an optimal clock signal according to the clock training code, and latch the one or more corresponding data signals according to the optimal clock signal; and a display panel coupled with the plurality of source drivers, and configured to display the plurality of latched data received from the plurality of source drivers.

In one embodiment, each source driver comprises a multi-phase clock generator for generating the plurality of clock signals, {CLKj}; and a clock selector for obtaining the optimal clock signal from the plurality of clock signals {CLKj} according to the clock training code. The multi-phase clock generator comprises buffer delays, delay locked loops (DLL) or phase locked loops (PLL). Each of the plurality of clock signals {CLKj} has a frequency that is identical to that of the at least one clock signal CLK and a phase that is different from each other and from that of the clock signals CLK

The clock training code is transmitted from the timing controller to the plurality of source drivers during a blanking.

In one embodiment, the timing controller is configured to further provide a synchronization signal, SYNC, to the plurality of source drivers, wherein the synchronization signal SYNC has a high voltage period defining a clock training period in which the clock training code occurs. In another embodiment, the timing controller is configured to further provide a receiving setup signal, DIO, and/or an output setup signal, STB, used to define a clock training period in which the clock training code occurs.

In one embodiment, the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and wherein the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type.

In one embodiment, the display may have a scrambler coupled with the timing controller for scrambling the plurality of data signals before it is provided to the plurality of source drivers; and a plurality of descramblers, each descramble coupled with a corresponding source driver for descrambling scrambled data signals received from the scrambler.

In another aspect, the present invention relates to a method for driving a display for data display. In one embodiment, the method includes the steps of (a) providing a plurality of data signals to be displayed, at least one clock signal, CLK, and a clock training code corresponding to the plurality of data signals; (b) generating a plurality of clock signals, {CLKj}, according to the at least one clock signal CLK, wherein j=1, 2, 3, . . . , N, N being a positive integer; (c) selecting one clock signal from the plurality of clock signals {CLKj} as an optimal clock signal according to the clock training code; and (d) latching the plurality of data signals according to the optimal clock signal. Each of the plurality of clock signals {CLKj} has a frequency that is identical to that of the at least one clock signal CLK and a phase that is different from each other and from that of the clock signals CLK

In one embodiment, step (a) is performed with a timing controller, and wherein steps (b)-(d) are performed with a plurality of source drivers.

In one embodiment, the generating step is performed with a multi-phase clock generator, wherein the multi-phase clock generator comprises buffer delays, DLL or PLL. The selecting step is performed with a clock selector. In one embodiment, the selecting step comprises the steps of comparing each of the plurality of clock signals {CLKj} with the clock training code; determining whether a rising or falling edge of each of the plurality of clock signals {CLKj} falls within the clock training code; and selecting the one of which its rising edge or falling edge falls in the most middle of the clock training code as the optimal clock signal.

In one embodiment, the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and wherein the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type.

The clock training code is transmitted from the timing controller to the plurality of source drivers during a blanking.

In one embodiment, the method may have the step of providing a synchronization signal, SYNC having a high voltage period defining a clock training period in which the clock training code occurs. In another embodiment, the method may have the step of providing a receiving setup signal, DIO, and/or an output setup signal, STB, used to define a clock training period in which the clock training code occurs.

Additionally, the method also includes the step of displaying the latched data signals. Moreover, the method may include steps of scrambling the plurality of data signals before the providing step is performed; and descrambling the scrambled data signals before the latching step is performed.

In yet another aspect, the present invention relates to a display for displaying data. In one embodiment, the display has means for providing a plurality of data signals to be displayed, at least one clock signal, CLK, and a clock training code corresponding to the plurality of data signals; means for generating a plurality of clock signals, {CLKj}, according to the at least one clock signal CLK, wherein j=1, 2, 3, . . . , N, N being a positive integer; means for selecting one clock signal from the plurality of clock signals {CLKj} as an optimal clock signal according to the clock training code; and means for latching the plurality of data signals according to the optimal clock signal; and means for displaying the latched data signals.

In one embodiment, the providing means comprises a timing controller. The generating means comprises a multi-phase clock generator, and wherein the selecting means comprises a clock selector. The multi-phase clock generator and the clock selector constitute a source driver.

In one aspect, the present invention relates to a display for displaying data. In one embodiment, the display includes a timing controller (TCON) configured to provide a plurality of data signals to be displayed, at least one clock signal, CLK, and a data training code corresponding to the at least one clock signal CLK; a plurality of source drivers coupled with the timing controller, each source driver (SD) configured to receive one or more corresponding data signals, the at least one clock signal CLK and the data training code from the timing controller, generate a plurality of data phase signals, {Dj}, according to the one or more corresponding data signals, wherein j=1, 2, 3, . . . , N, N being a positive integer, select one data phase signal from the plurality of data phase signals {Dj} as an optimal data signal according to the data training code, and latch the one or more corresponding data signals according to the optimal data signal; and a display panel coupled with the plurality of source drivers, and configured to display the plurality of latched data received from the plurality of source drivers.

In one embodiment, each source driver comprises a multi-phase data generator for generating the plurality of data phase signals {Dj}; and a data selector for obtaining the optimal data signal from the plurality of data phase signals {Dj} according to the data training code. The multi-phase data generator comprises buffer delays, delay locked loops (DLL) or phase locked loops (PLL). The data training code is transmitted from the timing controller to the plurality of source drivers during a blanking.

In one embodiment, the timing controller is configured to further provide a synchronization signal, SYNC, to the plurality of source drivers, wherein the synchronization signal SYNC has a period defining a data training period in which the data training code occurs. In another embodiment, the timing controller is configured to further provide a receiving setup signal, DIO, and/or an output setup signal, STB, used to define a data training period in which the data training code occurs.

In one embodiment, the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and wherein the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type.

In another aspect, the present invention relates to a method for driving a display for data display. In one embodiment, the method includes the steps of providing a plurality of data signals to be displayed, at least one clock signal, CLK, and a data training code corresponding to the at least one clock signal, CLK, to a plurality of source drivers; for each source driver, generating a plurality of data phase signals, {Dj}, according to one or more corresponding data received therein, wherein j=1, 2, 3, . . . , N, N being a positive integer; for each source driver, selecting one data phase signal from the plurality of data phase signals {Dj} as an optimal data signal according to the data training code; and for each source driver, latching the one or more corresponding data signals according to the optimal data signal.

The providing step is performed with a timing controller. In one embodiment, the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type. In one embodiment, the data training code is transmitted from the timing controller to the plurality of source drivers during a blanking.

The generating step is performed with a multi-phase data generator, where the multi-phase data generator comprises buffer delays, delay locked loops (DLL) or phase locked loops (PLL).

In one embodiment, the selecting step comprises the steps of comparing each of the plurality of data phase signals {Dj} with the data training code; determining whether a rising or falling edge of the at least one clock signal CLK falls between two adjacent jitter portions of one of the plurality of data phase signals; and selecting the one of the plurality of data phase signals as the optimal data signal.

In another embodiment, the selecting step comprises the steps of selecting one of the plurality of data phase signals {Dj} corresponding to the data training code associated with at least one clock signal CLK; recovering the data training code; determining whether the recovered data training code and an internal training code are matched with each other; and if matched, assigning the selected one of the plurality of data phase signals {Dj} as the optimal data signal, otherwise, repeating the selecting, recovering and determining steps.

The selecting step is performed with a data selector.

In one embodiment, the method further comprises the step of providing a synchronization signal, SYNC having a high voltage period defining a data training period in which the data training code occurs. In another embodiment, the method further comprises the step of providing a receiving setup signal, DIO, and/or an output setup signal, STB, used to define a data training period in which the data training code occurs.

These and other aspects of the present invention will become apparent from the following description of the preferred embodiment taken in conjunction with the following drawings, although variations and modifications therein may be affected without departing from the spirit and scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate one or more embodiments of the invention and, together with the written description, serve to explain the principles of the invention. Wherever possible, the same reference numbers are used throughout the drawings to refer to the same or like elements of an embodiment, and wherein:

FIG. 1 shows schematically a partially block diagram of a display according to one embodiment of the present invention;

FIG. 2 shows schematically a partially block diagram of a display according to one embodiment of the present invention;

FIG. 3 shows schematically a block diagram of a multi-phase clock generator of a display according to one embodiment of the present invention;

FIG. 4 shows schematically a block diagram of a multi-phase clock generator of a display according to another embodiment of the present invention;

FIG. 5A shows schematically a flow chart for a clock phase selection according to one embodiment of the present invention;

FIG. 5B shows schematically a flow chart for a clock phase selection according to another embodiment of the present invention;

FIG. 5C shows schematically a flow chart for receiving display data according to the embodiment of FIG. 5B;

FIG. 6 shows schematically a timing chart of signals for driving a display according to one embodiment of the present invention;

FIG. 7 shows schematically a timing chart of signals used for a clock phase selection according to one embodiment of the present invention;

FIG. 8 shows schematically a clock phase selection shown in FIG. 7;

FIG. 9 shows schematically a partially block diagram of a display according to one embodiment of the present invention;

FIG. 10 shows schematically a partially block diagram of a display according to one embodiment of the present invention;

FIG. 11 shows schematically a block diagram of a multi-phase data generator of a display according to one embodiment of the present invention;

FIG. 12 shows schematically a block diagram of a multi-phase data generator of a display according to another embodiment of the present invention;

FIG. 13A shows schematically a flow chart for a data phase selection according to one embodiment of the present invention;

FIG. 13B shows schematically a flow chart for a data phase selection according to another embodiment of the present invention;

FIG. 13C shows schematically a flow chart for receiving display data according to the embodiment of FIG. 13B;

FIG. 14 shows schematically a timing chart of signals used for a data phase selection according to one embodiment of the present invention;

FIG. 15 shows schematically a data phase selection shown in FIG. 14;

FIG. 16 shows schematically a block diagram of a display according to one embodiment of the present invention;

FIG. 17 shows schematically a block diagram of a display according to another embodiment of the present invention;

FIG. 18 shows schematically a block diagram of a display according to yet another embodiment of the present invention;

FIG. 19 shows schematically a partially block diagram of a display according to one embodiment of the present invention; and

FIG. 20 shows schematically a timing chart of signals for driving a display according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is more particularly described in the following examples that are intended as illustrative only since numerous modifications and variations therein will be apparent to those skilled in the art. Various embodiments of the invention are now described in detail. Referring to the drawings, like numbers indicate like components throughout the views. As used in the description herein and throughout the claims that follow, the meaning of “a”, “an”, and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.

The terms used in this specification generally have their ordinary meanings in the art, within the context of the invention, and in the specific context where each term is used. Certain terms that are used to describe the invention are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the invention. The use of examples anywhere in this specification, including examples of any terms discussed herein, is illustrative only, and in no way limits the scope and meaning of the invention or of any exemplified term. Likewise, the invention is not limited to various embodiments given in this specification.

As used herein, “around”, “about” or “approximately” shall generally mean within 20 percent, preferably within 10 percent, and more preferably within 5 percent of a given value or range. Numerical quantities given herein are approximate, meaning that the term “around”, “about” or “approximately” can be inferred if not expressly stated.

As used herein, the terms “comprising,” “including,” “having,” “containing,” “involving,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to.

The description will be made as to the embodiments of the present invention in conjunction with the accompanying drawings in FIGS. 1-20. In accordance with the purposes of this invention, as embodied and broadly described herein, this invention, in one aspect, relates to a display that utilizes a CLK phase auto-adjusting mechanism or a DATA phase auto-adjusting mechanism in source drivers to increase the operation frequency of the display and improve the performance of the display and a method of driving same.

Referring to FIG. 1, a partially block diagram of a display 100 is schematically shown according to one embodiment of the present invention. In this exemplary embodiment, the display 100 includes a timing controller (TCON) 110 and a plurality of source drivers 120 coupled with the timing controller 110. Generally, the timing controller 110 receives low voltage differential signals (LVDS) from one or more upstream devices and responsively generates clocks, control signals and data signals to be displayed. The generated clocks, control signals and data signals are transmitted to the source drivers 120 via one or more transmission interfaces. The source drivers 110 convert the received data signals into analog voltage driving signals in according to the clocks and control signals. The converted analog voltage driving signals is used to drive a display panel (not shown) for display of the data signals.

Specifically, in the embodiment, the timing controller 110 is configured to provide a plurality of data signals, DATA, to be displayed, at least one clock signal, CLK, a clock training code corresponding to the plurality of data signals DATA, and a synchronization signal, SYNC. The synchronization signal SYNC is adapted for controlling the time of outputting the voltage driving signals, i.e., the synchronization signal SYNC functions to notify each source driver 120 of the time the timing controller 110 transmits the data signals. In this embodiment, the synchronization signal SYNC is also adapted for initializing a process of clock phase selection, which its high voltage period is used to define a clock training period in which the clock training code occurs. The clock training code is transmitted from the timing controller 110 to the plurality of source drivers 120 during a blanking.

Each source driver (SD) 120 has a multi-phase clock generator 121 and a MUX (clock selector) 122 and a data latch unit 123. The multi-phase clock generator 121 includes buffer delays, delay locked loops (DLL) or phase locked loops (PLL).

The source driver 120 is configured to receive one or more corresponding data signals DATA, the at least one clock signal CLK and the clock training code from the timing controller 110. Responsively, the multi-phase clock generator 121 of the source driver 120 generates a plurality of clock signals, {CLKj}, according to the at least one clock signal CLK. In the embodiment, N=4. People skilled in the art would appreciate that other number of N can also be utilized to practice the present invention. Each of the plurality of clock signals {CLKj} has a frequency that is identical to that of the at least one clock signal CLK and a phase that is different from each other and from that of the clock signals CLK. The MUX 122 of the source driver 120 selects one clock signal from the plurality of clock signals {CLKj} as an optimal clock signal according to the clock training code. The selected optimal clock signal is used to latch the one or more corresponding data signals in the data latch unit 123. The latched data signals are adapted for driving the display panel to display the data signals.

In the embodiment, the synchronization signal SYNC, the at least one clock signal CLK and the data signals DATA are transmitted from the timing controller 110 to the source drivers 120 in the bus type manner. As shown below, they can be transmitted from the timing controller 110 to the source drivers 120 in other manners, such as in a cascade type and a point-to-point type.

FIG. 2 shows schematically a partially block diagram of a display 200 according to one embodiment of the present invention. The display 200 includes a timing controller 210 and a source driver 220, which both are essentially same as those of the display 100 shown in FIG. 1. The source driver 220 has a multi-phase clock generator 221 for generating multiple phase clock signals, CLK1, CLK2, CLK3, . . . , and a clock phase comparator (clock phase selector) 222 for receiving the multiple phase clock signals, CLK1, CLK2, CLK3, . . . , from the multi-phase clock generator 221, and comparing each of them to a clock training code (or clock correction code) received from the timing controller 210, and selecting one clock of which its rising edge or falling edge falls in the most middle of the clock correction code as the optimal clock signal CLK_(OP). The optimal clock signal CLK_(OP) will be used to latch the data signal DATA received from the timing controller 210.

FIGS. 3 and 4 are two embodiments of the source driver 220. In one embodiment as shown in FIG. 3, the multi-phase clock generator 221A of the source driver 220 includes buffer delays. In the other embodiment, the multi-phase clock generator 221B of the source driver 220 includes DLL or PLL, as shown in FIG. 4.

Referring to FIGS. 5A-5C and 6-8, and particularly to FIG. 5A, a block diagram of a display 500A and its flow chart for a clock phase selection are schematically shown according to one embodiment of the present invention.

At first, the timing controller 510 generates data signals DATA, a clock signal CLK, a clock training code corresponding to the data signals DATA, and a synchronization signal SYNC, and transmits them to the source driver 520 via one or more transmission interfaces. When the at least one clock signal CLK is received by the multi-phase CLK generator 521, it generates multiple phase clock signals, CLK1, CLK2, CLK3, . . . , responsively. The multiple phase clock signals, CLK1, CLK2, CLK3, . . . , have the same frequency as that of the at least one clock signal CLK and different phases, as shown in FIGS. 7 and 8. The generated multiple phase clock signals, CLK1, CLK2, CLK3, . . . , along the data signals DATA, the clock training code and the synchronization signal SYNC, are transmitted to the CLK selector 522 of the source driver 520. The synchronization signal SYNC has a high voltage period that is used to define a clock training period, as shown in FIG. 6. During the clock training period, the CLK selector 522 compares each of the generated multiple phase clock signals, CLK1, CLK2, CLK3, . . . , with the clock training code at step 523. If it is found that there are one or more of the generated multiple phase clock signals of which their rising edges or falling edges fall in the clock training code, the one of which its rising edge or falling edge falls in the most middle of the clock training code is selected as the optimal clock signal CLK_(OP) (at step 524).

For example, as shown in FIGS. 7 and 8, there are eight clock signals CLK1-CLK8 having different phases are generated. Of them, the rising edges of CLK1, CLK2, CLK3, CLK7 and CLK8 are corresponding to the jitter portion of the DATA, and the rising edges of CLK4, CLK5 and CLK6 fall into the clock training code that are defined between two neighboring data jitters. Further, the rising edge of CLK5 is in the most middle of the clock training code. Therefore, CLK5 is selected as the optimal clock signal CLK_(OP).

Referring back to FIG. 5A, after the clock training period ends and a RST signal starts, the display data is received at step 525. Otherwise, if no rising or falling edge of the generated multiple phase clock signals, CLK1, CLK2, CLK3, . . . , falls in the clock training code, the multi-phase CLK generator 521 is requested to re-generate second multiple phase clock signals in accordance with the at least one clock signal CLK, which will be send to the CLK selector 522 for the CLK phase selection.

FIGS. 5B and 5C show a block diagram of a display 500B and its flow chart for a clock phase selection (during a clock training period) and receiving display data according to another embodiment of the present invention.

As shown in FIG. 5B, during the clock training period, which is determined by, for example, a high voltage period of the synchronization signal SYNC, the timing controller 510 sends a training code to the CLK phase selector 522. The CLK phase selector 522, in turn, selects one of the generated multiple phase clock signals CLK1, CLK2, CLK3, . . . , from the multi-phase CLK generator 521 in accordance with the clock training code. The training code is recovered at step 526 thereafter. Then, the recovered training code and the internal training code are compared at step 523. If both of the recovered training code and the internal training code are matched with each other, the training period is finished at step 527, and the data driver 520 starts to receive display data at step 528, as shown in FIG. 5C. Otherwise, the CLK phase selector 522 selects another one of the generated multiple phase clock signals. Repeating the above process until the recovered training code and the internal training code are matched.

Referring to FIG. 9, a partially block diagram of a display 900 is schematically shown according to one embodiment of the present invention. Similar to the display 100 shown in FIG. 1, in this exemplary embodiment, the display 900 includes a timing controller (TCON) 910 and a plurality of source drivers 920 coupled with the timing controller 910. Generally, the timing controller 910 receives low voltage differential signals (LVDS) from one or more upstream devices and responsively generates clocks, control signals and data signals to be displayed. The generated clocks, control signals and data signals are transmitted to the source drivers 920 via one or more transmission interfaces. The source drivers 910 convert the received data signals into analog voltage driving signals in according to the clocks and control signals. The converted analog voltage driving signals is used to drive a display panel (not shown) for display of the data signals.

Specifically, in the embodiment, the timing controller 910 is configured to provide a plurality of data signals, DATA, to be displayed, at least one clock signal, CLK, a clock training code corresponding to the plurality of data signals DATA, and a synchronization signal, SYNC. The synchronization signal SYNC is adapted for controlling the time of outputting the voltage driving signals, i.e., the synchronization signal SYNC functions to notify each source driver 920 of the time the timing controller 910 transmits the data signals. In this embodiment, the synchronization signal SYNC is also adapted for initializing a process of data phase selection, which its high voltage period is used to define a data training period in which the data training code occurs. The data training code is transmitted from the timing controller 910 to the plurality of source drivers 920 during a blanking.

Each source driver (SD) 920 has a multi-phase data generator 921 and a MUX (data selector) 922 and a data latch unit 923. The multi-phase data generator 921 includes buffer delays, DLL or PLL.

The source driver 920 is configured to receive one or more corresponding data signals DATA, the at least one clock signal CLK and the data training code from the timing controller 910. Responsively, the multi-phase data generator 921 of the source driver 920 generates a plurality of data phase signals, {Dj}, according to the received one or more corresponding data signals. In the embodiment, N=4. People skilled in the art would appreciate that other number of N can also be utilized to practice the present invention. The MUX 922 of the source driver 920 selects one data phase signal from the plurality of data phase signals {Dj} as an optimal data signal, D_(OP), according to the data training code. The selected optimal data signal D_(OP) is used to latch the received one or more corresponding data signals in the data latch unit 923. The latched data signals are adapted for driving the display panel to display the data signals.

In the embodiment, the synchronization signal SYNC, the at least one clock signal CLK and the data signals DATA are transmitted from the timing controller 910 to the source drivers 920 in the bus type manner. As shown below, they can be transmitted from the timing controller 910 to the source drivers 920 in other manners, such as in a cascade type and a point-to-point type.

FIG. 10 shows schematically a partially block diagram of a display 1000 according to one embodiment of the present invention. The display 1000 includes a timing controller 1010 and a source driver 1020, which both are essentially same as those of the display 900 shown in FIG. 9. The source driver 1020 has a multi-phase data generator 1021 for generating multiple phase data signals, D1, D2, D3, . . . , and a data phase comparator (data phase selector) 1022 for receiving the multiple phase data signals, D1, D2, D3, . . . , from the multi-phase data generator 1021, and comparing each of them to a data training code (or data correction code) received from the timing controller 1010, and selecting one data of which its rising edge or falling edge falls in the most middle of the data correction code as the optimal data signal D_(OP). The optimal data signal D_(OP) will be used to latch the data signal DATA received from the timing controller 1010.

FIGS. 11 and 12 are two embodiments of the source driver 1120. In one embodiment as shown in FIG. 11, the multi-phase data generator 1121A of the source driver 1120 includes buffer delays. In the other embodiment, the multi-phase data generator 1121B of the source driver 1120 includes DLL or PLL, as shown in FIG. 12.

Referring to FIGS. 13A-13C, 14 and 15, and particularly to FIG. 13A, a block diagram of a display 1300A and its flow chart for a data phase selection are schematically shown according to one embodiment of the present invention.

At first, the timing controller 1310 generates data signals DATA, a clock signal CLK, a data training code corresponding to the clock signal CLK, and a synchronization signal SYNC, and transmits them to the source driver 1320 via one or more transmission interfaces. When the data signals DATA are received by the multi-phase DATA generator 1321, it generates a number of data phase signals, D1, D2, D3, . . . , responsively. The data phase signals, D1, D2, D3, . . . , have the same frequency as that of the data signals DATA and different phases, as shown in FIGS. 14 and 15. The generated data phase signals, D1, D2, D3, . . . , along the data signals DATA, the data training code and the synchronization signal SYNC, are transmitted to the data selector 1322 of the source driver 1320. The synchronization signal SYNC has a high voltage period that is used to define a data training period. During the data training period, the data selector 1322 compares each of the generated data phase signals, D1, D2, D3, . . . , with the data training code at step 1323. If it is found that there is one of the generated data phase signals matched with the data training code, the matched one is selected as the optimal data signal D_(OP) (at step 1324). In other words, when the rising edges or falling edges of the clock signal CLK with which the data training code is associated fall in the middle of one of the generated data phase signals, the one of the generated data phase signals is selected as the optimal data signal D_(OP). For example, as shown in FIGS. 14 and 15, there are seven data phase signals D1-D7 having different phases generated. The rising edges or falling edges of the clock signal CLK fall into the middle of two adjacent jitter portions of data phase D5. Therefore, D5 is selected as the optimal clock signal D_(OP).

Referring back to FIG. 13A, after the data training period ends and a RST signal starts, the display data is received at step 1325. Otherwise, if no rising or falling edge of the clock signal CLK falls between two adjacent jitter portion of any one of the generated data phase signals, D1, D2, D3, . . . , the multi-phase data generator 1321 is requested to re-generate second multiple phase data signals in accordance with the data signals DATA, which will be send to the data selector 1322 for the data phase selection.

FIGS. 13B and 13C show a block diagram of a display 1300B and its flow chart for a data phase selection (during a data training period) and receiving display data according to another embodiment of the present invention.

As shown in FIG. 13B, during the clock training period, which is defined by, for example, a high voltage period of the synchronization signal SYNC, the timing controller 1310 sends a training code to the multi-phase data generator 1321. The data phase selector 1322 then selects one of the generated multiple data phase signals D1, D2, D3, . . . , from the multi-phase data generator 1321 in accordance with the data training code. The training code is recovered at step 1326 thereafter. Then, the recovered training code and the internal training code are compared at step 1323. If both of the recovered training code and the internal training code are matched with each other, the data training period is finished at step 1327, and the data driver 1320 starts to receive display data (e.g., at step 1328), as shown in FIG. 13C. Otherwise, the data phase selector 1322 selects another one of the generated multiple data phase signals. Repeating the above process until the recovered training code and the internal training code are matched.

Referring to FIGS. 16-18, a display of the invention is shown according to three different embodiments 1600, 1700 and 1800, where data different transmission interfaces are employed respectively. In the display 1600, the synchronization signal SYNC and the at least one clock signal CLK are both transmitted from the timing controller TCON to the source drivers SD in the bus type manner. The data signals DATA are transmitted in the point-to-point type manner.

In the display 1700, the synchronization signal SYNC and the at least one clock signal CLK and the data signals DATA are all transmitted from the timing controller TCON to the source drivers SD in the bus type manner.

In the display 1800, the synchronization signal SYNC is transmitted from the timing controller TCON to the source drivers SD in the bus type manner, while the at least one clock signal CLK and the data signals DATA are both transmitted in the cascade type manner.

FIG. 19 shows schematically a partially block diagram of a display 1900 according to one embodiment of the present invention. The display 1900 has essentially same structure as the display 100 shown in FIG. 1, except that the clock training and selection of the multi-phase clock signals generated by the multi-phase clock generator of the source driver are controlled by a receiving setup signal, DIO, or an output setup signal, STB, as shown in FIG. 20, rather than by a synchronization signal SYNC. Both the receiving setup signal DIO and the output setup signal STB are generated by the timing controller. The receiving setup signal DIO indicates the source drivers to prepare for data reception, while the output setup signal STB controls the time the source drivers output signals.

One aspect of the present invention relates to a method for driving a display for data display. In one embodiment, the method includes the steps of providing a plurality of data signals to be displayed, at least one clock signal, CLK, and a data training code corresponding to the at least one clock signal, CLK, to a plurality of source drivers; for each source driver, generating a plurality of data phase signals, {Dj}, according to one or more corresponding data received therein, wherein j=1, 2, 3, . . . , N, N being a positive integer; for each source driver, selecting one data phase signal from the plurality of data phase signals {Dj} as an optimal data signal according to the data training code; and for each source driver, latching the one or more corresponding data signals according to the optimal data signal.

The providing step is performed with a timing controller. In one embodiment, the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type. In one embodiment, the data training code is transmitted from the timing controller to the plurality of source drivers during a blanking.

The generating step is performed with a multi-phase data generator, where the multi-phase data generator comprises buffer delays, DLL or PLL.

The selecting step is performed with a data selector. In one embodiment, the selecting step comprises the steps of comparing each of the plurality of data phase signals {Dj} with the data training code; determining whether a rising or falling edge of the at least one clock signal CLK falls between two adjacent jitter portions of one of the plurality of data phase signals; and selecting the one of the plurality of data phase signals as the optimal data signal. In another embodiment, the selecting step comprises the steps of selecting one of the plurality of data phase signals {Dj} corresponding to the data training code associated with at least one clock signal CLK; recovering the data training code; determining whether the recovered data training code and an internal training code are matched with each other; and if matched, assigning the selected one of the plurality of data phase signals {Dj} as the optimal data signal, otherwise, repeating the selecting, recovering and determining steps.

In one embodiment, the method further comprises the step of providing a synchronization signal, SYNC having a high voltage period defining a data training period in which the data training code occurs. In another embodiment, the method further comprises the step of providing a receiving setup signal, DIO, and/or an output setup signal, STB, used to define a data training period in which the data training code occurs

In brief, the present invention, among other things, recites a display that utilizes a data phase auto-adjusting mechanism in source drivers to increase the operation frequency of the display and improve the performance of the display and a method of driving same. Accordingly, there is no need to increase the frequency of the at least one clock signal CLK, and therefore the integrity of the at least one clock signal CLK is reserved during operation. Additionally, the use of the rising edge of a clock signal to latch the data signal causes no issue of the internal duty. Further, no data skew occurs according to the invention.

The foregoing description of the exemplary embodiments of the invention has been presented only for the purposes of illustration and description and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching.

The embodiments were chosen and described in order to explain the principles of the invention and their practical application so as to activate others skilled in the art to utilize the invention and various embodiments and with various modifications as are suited to the particular use contemplated. Alternative embodiments will become apparent to those skilled in the art to which the present invention pertains without departing from its spirit and scope. Accordingly, the scope of the present invention is defined by the appended claims rather than the foregoing description and the exemplary embodiments described therein. 

1. A display for displaying data, comprising: a timing controller (TCON) configured to provide a plurality of data signals to be displayed, at least one clock signal, CLK, and a data training code corresponding to the at least one clock signal CLK; a plurality of source drivers coupled with the timing controller, each source driver (SD) configured to receive one or more corresponding data signals, the at least one clock signal CLK and the data training code from the timing controller, generate a plurality of data phase signals, {Dj }, according to the one or more corresponding data signals, wherein j=1, 2, 3, . . . , N, N being a positive integer, select one data phase signal from the plurality of data phase signals {Dj } as an optimal data signal according to the data training code, and latch the one or more corresponding data signals according to the optimal data signal; and a display panel coupled with the plurality of source drivers, and configured to display the plurality of latched data received from the plurality of source drivers.
 2. The display of claim 1, wherein each source driver comprises: a multi-phase data generator for generating the plurality of data phase signals {Dj}; and a data selector for obtaining the optimal data signal from the plurality of data phase signals {Dj } according to the data training code.
 3. The display of claim 2, wherein the multi-phase data generator comprises buffer delays, delay locked loops (DLL) or phase locked loops (PLL).
 4. The display of claim 1, wherein the data training code is transmitted from the timing controller to the plurality of source drivers during a blanking.
 5. The display of claim 4, wherein the timing controller is configured to further provide a synchronization signal, SYNC, to the plurality of source drivers, wherein the synchronization signal SYNC has a period defining a data training period in which the data training code occurs.
 6. The display of claim 4, wherein the timing controller is configured to further provide at least one of a receiving setup signal, DIO, and an output setup signal, STB, used to define a data training period in which the data training code occurs.
 7. The display of claim 1, wherein the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and wherein the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type.
 8. A method for driving a display for data display, comprising the steps of: providing a plurality of data signals to be displayed, at least one clock signal, CLK, and a data training code corresponding to the at least one clock signal CLK to a plurality of source drivers; for each source driver, generating a plurality of data phase signals, {Dj }, according to one or more corresponding data received therein, wherein j=1, 2, 3, . . . , N, N being a positive integer; for each source driver, selecting one data phase signal from the plurality of data phase signals {Dj } as an optimal data signal according to the data training code; and for each source driver, latching the one or more corresponding data signals according to the optimal data signal.
 9. The method of claim 8, wherein the providing step is performed with a timing controller.
 10. The method of claim 9, wherein the clock signal is transmitted from the timing controller to the plurality of source drivers in a bus type, and wherein the plurality of data signals is transmitted from the timing controller to the plurality of source drivers in one of a bus type, a point-to-point type and a cascade type.
 11. The method of claim 10, wherein the data training code is transmitted from the timing controller to the plurality of source drivers during a blanking.
 12. The method of claim 8, wherein the generating step is performed with a multi-phase data generator.
 13. The method of claim 12, wherein the multi-phase data generator comprises buffer delays, delay locked loops (DLL) or phase locked loops (PLL).
 14. The method of claim 8, wherein the selecting step comprises the steps of: comparing each of the plurality of data phase signals {Dj } with the data training code corresponding to at least one clock signal CLK; determining whether a rising or falling edge of the at least one clock signal CLK falls between two adjacent jitter portions of one of the plurality of data phase signals; and selecting the one of the plurality of data phase signals as the optimal data signal.
 15. The method of claim 8, wherein the selecting step comprises the steps of: selecting one of the plurality of data phase signals {Dj } corresponding to the data training code associated with at least one clock signal CLK; recovering the data training code; determining whether the recovered data training code and an internal training code are matched with each other; and if matched, assigning the selected one of the plurality of data phase signals {Dj} as the optimal data signal, otherwise, repeating the selecting, recovering and determining steps.
 16. The method of claim 8, wherein the selecting step is performed with a data selector.
 17. The method of claim 8, further comprising the step of providing a synchronization signal, SYNC having a high voltage period defining a data training period in which the data training code occurs.
 18. The method of claim 8, further comprising the step of providing at least one og a receiving setup signal, DIO, and an output setup signal, STB, used to define a data training period in which the data training code occurs.
 19. The method of claim 8, further comprising the step of displaying the latched data signals. 